import java.io.File;
import java.util.Scanner;

public class demo1 {
    /**
     * 扫描指定目录，并找到名称中包含指定字符的所有普通文件（不包含目录），并且后续询问用户是否要删除该文件
     * @param currentFile
     * @param key
     */
    private static void scan(File currentFile,String key){
        if (!currentFile.isDirectory()){
            return;
        }

        File[] files=currentFile.listFiles();
        if (files==null||files.length==0){
            return;
        }

        for(File f:files){
            if (f.isFile()){
                //针对普通文件进行处理
                //判定文件名是否符合要求
                doDelete(f,key);
            }else{
                scan(f,key);
            }
        }
    }

    private static void doDelete(File file,String key){
        if (!file.getName().contains(key)){
            return;
        }
        System.out.println("是否删除文件"+file.getAbsolutePath());
        System.out.println("若删除请输入y");
        Scanner sc=new Scanner(System.in);
        String choice=sc.next();
        if (choice.equals("y")||choice.equals("y")){
            file.delete();
            System.out.println("已删除");
        }else{
            System.out.println("未删除");
        }
    }

    public static void main(String[] args) {
        System.out.println("请输入你要删除的文件路径：");
        Scanner sc=new Scanner(System.in);
        String rootPath=sc.nextLine();
        File rootFile= new File(rootPath);
        if(!rootFile.isDirectory()){
            System.out.println("输入的路径并不存在");
            return;
        }
        System.out.println("请输入你要删除的文件的关键字");
        String key=sc.next();

        scan(rootFile,key);
        System.out.println("已全部执行完毕");
    }
}
